www.gusucode.com > 小波分析理论与Matlab 7实现 > 小波分析理论与Matlab 7实现/code/Ch16/examp16_3.m
%生成正弦信号 N=1000; t=1:N; sig1=sin(0.3*t); %生成三角波信号 sig2(1:500)=((1:500)-1)/500; sig2(501:N)=(1000-(501:1000))/500; figure(1); subplot(2,1,1);plot(t,sig1,'LineWidth',2);xlabel('时间 t/s');ylabel('幅值 A'); subplot(2,1,2);plot(t,sig2,'LineWidth',2);xlabel('时间 t/s');ylabel('幅值 A'); %叠加信号 x=sig1+sig2; x1=wextend(1,'ppd',x,20); N1=N+2*20; t1=1:N1; figure(2) subplot(211);plot(t,x,'LineWidth',2);title('原始信号');xlabel('时间 t/s');ylabel('幅值 A'); subplot(212);plot(t1,x1,'LineWidth',2);title('延拓信号');xlabel('时间 t/s');ylabel('幅值 A'); %一维小波分解 [c,l] = wavedec(x1,6,'db5'); %重构第1~6层逼近系数 a6 = wrcoef('a',c,l,'db5',6); a5 = wrcoef('a',c,l,'db5',5); a4 = wrcoef('a',c,l,'db5',4); a3 = wrcoef('a',c,l,'db5',3); a2 = wrcoef('a',c,l,'db5',2); a1 = wrcoef('a',c,l,'db5',1); %显示逼近系数 figure(3) subplot(6,1,1);plot(a6,'LineWidth',2);ylabel('a6'); subplot(6,1,2);plot(a5,'LineWidth',2);ylabel('a5'); subplot(6,1,3);plot(a4,'LineWidth',2);ylabel('a4'); subplot(6,1,4);plot(a3,'LineWidth',2);ylabel('a3'); subplot(6,1,5);plot(a2,'LineWidth',2);ylabel('a2'); subplot(6,1,6);plot(a1,'LineWidth',2);ylabel('a1'); xlabel('时间 t/s'); %重构第1~6层细节系数 d6 = wrcoef('d',c,l,'db5',6); d5 = wrcoef('d',c,l,'db5',5); d4 = wrcoef('d',c,l,'db5',4); d3 = wrcoef('d',c,l,'db5',3); d2 = wrcoef('d',c,l,'db5',2); d1 = wrcoef('d',c,l,'db5',1); %显示细节系数 figure(4) subplot(6,1,1);plot(d6,'LineWidth',2);ylabel('d6'); subplot(6,1,2);plot(d5,'LineWidth',2);ylabel('d5'); subplot(6,1,3);plot(d4,'LineWidth',2);ylabel('d4'); subplot(6,1,4);plot(d3,'LineWidth',2);ylabel('d3'); subplot(6,1,5);plot(d2,'LineWidth',2);ylabel('d2'); subplot(6,1,6);plot(d1,'LineWidth',2);ylabel('d1'); xlabel('时间 t/s'); figure(5) plot(a6,'linewidth',3)